//CM11 链表分割
public class testwork1 {
    public ListNode partition(ListNode pHead, int x) {
        ListNode ref=null;//记录小于x前的数据
        ListNode rel=null;

        ListNode tef=null;
        ListNode tel=null;
        ListNode cut=pHead;
        while(cut!=null){
            if(cut.val<x){
                if(ref==null){
                    ref=rel=cut;
                }
                else{
                    rel.next=cut;//利用rel去使ref连接符合要求的数据
                    rel=cut;
                }
            }
            else{
                if(tef==null){
                    tef=tel=cut;
                }
                else{
                    tel.next=cut;
                    tel=cut;
                }
            }
            cut=cut.next;
        }
        if(ref==null){
            return tef;
        }
        rel.next=tef;
        if(tef!=null){
            tel.next=null;
        }
        return ref;
    }
}
